home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Add-Ons / MPW / MPW dmake 4.0 / readme / srcorg < prev    next >
Text File  |  1995-06-02  |  3KB  |  75 lines

  1. SOURCE CODE ORGANIZATION:
  2. -------------------------
  3. The source code is organized as follows:
  4.  
  5.             dmake         [source for all common functions]
  6.               |
  7.               |
  8.         ----------------------------
  9.         |     |     |    |          |
  10.        unix tos   qnx  os2       msdos  [source for OS specific functions]
  11.         |                |          |
  12.   --------------------      |       -------------------
  13.   |         |        |      |       |       |         |
  14. 386ix     bsd43  sysvr[134] |    tccdos   bccdos   mscdos  [source for OSRELEASE
  15.         |                  |                        specific functions] 
  16.         |           ---------
  17.         |           |       |
  18.         |          ibm    mscdos
  19.         |
  20.         |
  21.         |
  22.     --------
  23.     |      |
  24.        uw      vf   [source for OSENVIRONMENT specific functions]
  25.  
  26.  
  27. Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
  28. that is specific to that release of the OS (and possibly C-library)
  29.  
  30.  
  31. CREATING A NEW VERSION:
  32. -----------------------
  33. To create yet another version of dmake you should follow the following steps.
  34.  
  35. The sysvr3 version as sent is the base version, all dmake versions must provide
  36. the equivalent of the functions defined in the sysvr3 directory, and MUST
  37. provide the same semantics (MSDOS archive lib searches are an exception since
  38. we cannot search libraries for timestamps in MSDOS, Actually the MKS version
  39. of dmake does this, I don't have the inclination to add this code though).
  40.  
  41. 1. Create a new directory for the version you will be making at the level
  42.    that is appropriate.  If it is a new OS then add the dir at the top level,
  43.    if it is a new version of UNIX then add it below the unix directory.
  44.  
  45. 2. Copy the files from the unix and unix/sysvr3 directories to the new dir.
  46.    (Or from any other directory sub-tree that is more appropriate)
  47.  
  48. 3. Not all OS/OSRELEASE combinations are compatible so in order to make
  49.    dmake on each, the particular directory may contain C-source for functions
  50.    present in the SVID SysV R3 distribution which are used by dmake but are
  51.    not supplied by the C-library in the target system.  For example the bsd43
  52.    directory contains source for tempnam.c since it is not provided with
  53.    the BSD C-library.  Before writing a new version of the source file
  54.    check the other directories to see if one already exists.
  55.  
  56. 4. Under some systems the standard include files may be missing or incorrect.
  57.    eg. under BSD stdarg.h and string.h.  If this is the case
  58.    you should create the proper .h file in the proper directory.
  59.    This works as expected as the compile line includes the flag -Idir
  60.    where dir is the configuration dir, (bsd43 for example) and any
  61.    standard include files will be searched for in dir before the compiler
  62.    looks in the normal places (if you have a sane compiler :-).
  63.  
  64. 5. Modify dmake.sh to contain the appropriate C compiler flags and link command
  65.    and to include any specific C files that you have had to add for this
  66.    version of dmake, and run the result through the shell.
  67.    (make the same changes to config.mk so that once you have a working copy of
  68.    dmake you can use it to bring itself up to date)
  69.  
  70. 6. Send me the changes :-) so that I can incorporate them into future
  71.    distributions.
  72.  
  73. 7. This should be all that you require to create a new version of dmake.
  74.    If you have any questions send e-mail to dvadura@plg.uwaterloo.ca
  75.